package com.desaysv.svhttp.coder;

import java.lang.reflect.Type;

/**
 * @author linzi
 * @version 1.0
 * @date 2022-7-19
 * @context 响应解码
 * @since 2022-7-19
 */
public interface IResponseDecoder {
    /**
     * 解码器实现
     *
     * @param response 响应数据
     * @param t        需要解码的目标对象class
     * @param <T>      需要解码的目标对象类
     * @return 解码实例
     */
    <T> T decoder(byte[] response, Class<T> t);

    /**
     * 解码器实现
     *
     * @param response 响应数据
     * @param t        需要解码的目标对象Type
     * @param <T>      需要解码的目标对象类
     * @return 解码实例
     */
    <T> T decoder(byte[] response, Type t);
}
